#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	struct T
//	{
//		char name[20];
//		int age;
//		int sex;
//	} a[5], *pa = a;
//	scanf("%d", pa->age);
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int sum = 0;
//	int tmp = 0;
//	for (int i = 0; i<n; i++)
//	{
//		scanf("%d", &tmp);
//		sum ^= tmp;
//	}
//	printf("%d\n", sum);
//	return 0;
//}

//int findPeakElement(int* nums, int numsLen)
//{
//	for (int i = 0; i<numsLen; i++)
//	{
//		if (i == 0)
//		{
//			if (nums[0]>nums[1])
//			{
//				return 0;
//			}
//		}
//		else
//		{
//			if (nums[i]>nums[i - 1])
//			{
//				if (nums[i]>nums[i + 1])
//				{
//					return i;
//				}
//			}
//		}
//	}
//	return numsLen - 1;
//}

//typedef union
//{
//	int a;
//	struct
//	{
//		short b;
//		short c;
//	};
//}X;
//int main()
//{
//	X x;
//	x.a = 0x20150810;
//	printf("%x,%x\n", x.b, x.c);
//	return 0;
//}

//int main()
//{
//	long n = 0;
//	scanf("%ld", &n);
//	long k = 0;
//	scanf("%ld", &k);
//	long sum = 0;
//	if (k == 0)
//	{
//		printf("%ld\n", n*n);
//		return 0;
//	}
//	for (int y = k + 1; y <= n; y++)
//	{
//		sum += (n / y)*(y - k) + ((n%y - k + 1)>0 ? (n%y - k + 1) : 0);
//	}
//	printf("%ld\n", sum);
//	return 0;
//}

int main()
{
	char arr[100] = { 0 };
	while (gets(arr))
	{
		int k = 0;
		scanf("%d", &k);
		for (int i = 0; i < k; i++)
		{
			printf("%c", arr[i]);
		}
		printf("\n");
	}
	return 0;
}